Advances in computer technology (e.g., microprocessor speed, memory capacity, data transfer bandwidth, software functionality, and the like) have generally contributed to increased computer application in various industries. For example, today, cellular telephones running on state-of-the-art operating systems have increased computing power in hardware and increased features in software in relation to earlier technologies.
For instance, cellular telephones are often equipped with built-in digital image capture devices (e.g., cameras) and microphones together with computing functionalities of personal digital assistants (PDAs). Since these devices combine the functionality of cellular telephones with the functionality of PDAs, they are commonly referred to as “smartphones.” The hardware and software features available in these smartphones and similar technologically capable devices provide developers the capability and flexibility to build applications through a versatile platform. The increasing market penetration of these portable devices (e.g., PDAs) inspires programmers to build applications, Internet browsers, etc. for these smartphones.
Moreover, the Internet continues to make available ever-increasing amounts of information, which can be stored in databases and accessed therefrom. Additionally, with the proliferation of portable terminals (e.g., notebook computers, cellular telephones, PDAs, smartphones and other similar communications devices), users are becoming more mobile, and hence, trackable with respect to buying habits and locations that they tend to frequent. For example, many devices are being designed with a geographic location tracking technology such as GPS for reasons of safety, finding travel destinations, and the like. Thus, it now becomes possible to determine the location of the user.
Location identification systems are used in many aspects of everyday life. By way of example, it has become increasingly more common for GPS to be integrated into automobiles to assist in navigation. Generally, a GPS system can, by triangulation of signals from three satellites, pinpoint a current location virtually anywhere on earth to within a few meters.
Knowledge of where the user has traveled can be of value to the user and to companies that seek to benefit economically by knowledge of the user location by providing location-based data and services to the user. As such, location-based services use knowledge of a user location to index into services and data that are likely to be useful at that location. For example, many modern handheld devices are equipped with multiple sensors (e.g., microphone, wireless transmitter, global positioning system—GPS—engine, camera, stylus, and the like), which are notified regarding local activities/services. Such can include reminder applications, which can supply user's relevant information at a given location, such as “You're near a grocery store, and you need milk at home.” Other conventional applications such as geo-based reminders; and “electronic graffiti” systems can support a user who chooses to leave electronic notes (for oneself or others) that are associated with a particular location, such as “There is a better Thai restaurant one block north of here.” Additionally, location-based tour guide applications offer relevant information about an exhibit or site at which the user is standing. These and most other location-based services share a need for a custom database dedicated to storing and serving data for specified locations.
GPS relies on satellite visibility to determine a user's position on the ground. Typically, for scenarios where a user is static or standing still, the portable GPS tracker devices and readers are required to indicate that they are at such static position—otherwise, substantial errors can be induced in various positioning applications such as distance and path finding calculations. Conventional corrections for such errors are typically based on multi-lateration or triangulation techniques between source positions, which determine if the movement is due to movement of the mobile unit, or whether such perceived movement indicates GPS errors. Such calculations can also become very intensive and hence employ system resources that could have been used more efficiently for other tasks.